#!/bin/bash

# 小学生作业管理系统启动脚本

echo "🚀 启动小学生作业管理系统..."

# 检查Java环境
if ! command -v java &> /dev/null; then
    echo "❌ 未找到Java环境，请先安装JDK 8+"
    exit 1
fi

# 检查Node.js环境
if ! command -v node &> /dev/null; then
    echo "❌ 未找到Node.js环境，请先安装Node.js 16+"
    exit 1
fi

# 检查MySQL连接
echo "📊 检查数据库连接..."
if ! mysql -u root -p123456 -e "USE homework_management;" 2>/dev/null; then
    echo "⚠️  数据库连接失败，请先初始化数据库："
    echo "   mysql -u root -p"
    echo "   source database/init.sql"
    echo "   然后重新运行此脚本"
    exit 1
fi

# 启动后端
echo "🔧 启动后端服务..."
cd backend
if [ ! -f "target/homework-management-0.0.1-SNAPSHOT.jar" ]; then
    echo "📦 编译后端项目..."
    mvn clean package -DskipTests
fi

# 后台启动后端
nohup java -jar target/homework-management-0.0.1-SNAPSHOT.jar > ../backend.log 2>&1 &
BACKEND_PID=$!
echo "✅ 后端服务已启动 (PID: $BACKEND_PID)"

# 等待后端启动
echo "⏳ 等待后端服务启动..."
sleep 10

# 启动前端
echo "🎨 启动前端服务..."
cd ../frontend

if [ ! -d "node_modules" ]; then
    echo "📦 安装前端依赖..."
    npm install
fi

# 启动前端开发服务器
npm run dev &
FRONTEND_PID=$!

echo ""
echo "🎉 系统启动完成！"
echo "📱 前端地址: http://localhost:5173"
echo "🔌 后端地址: http://localhost:8080"
echo "👤 默认管理员: admin / admin123"
echo "📝 首次使用请创建学生信息"
echo ""
echo "📋 查看日志:"
echo "   后端日志: tail -f backend.log"
echo "   前端日志: 查看控制台输出"
echo ""
echo "🛑 停止服务:"
echo "   kill $BACKEND_PID $FRONTEND_PID"
echo ""

# 等待用户输入来停止服务
read -p "按 Enter 键停止所有服务..."

# 停止服务
kill $BACKEND_PID $FRONTEND_PID 2>/dev/null
echo "✅ 所有服务已停止"